package com.tfjybj.itoo.teach.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.teach.entity.RoomTimeEntity;
import com.tfjybj.itoo.teach.model.RoomTimeModel;

import java.util.List;


/**
 * RoomTimeService接口
 * roomTime表
 *
 * @author 田成荣
 * @version 2.0.0
 * @since 2.0.0 2018-11-08 19:34:10
 */
public interface RoomTimeService extends BaseServicePlus<RoomTimeEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据房间id模糊查询roomTime
     *
     * @param roomId  房间id
     * @param pageNo   页码
     * @param pageSize 页数
     * @return 模糊查询的roomTime
     * @author 田成荣
     * @since 2.0.0 2018-11-08 19:34:10
     */
    PageInfo<RoomTimeEntity> queryByLikeRoomId(String roomId, Integer pageNo, Integer pageSize);
	//endregion

    /* **********************************以下为非模板生成的内容********************************* */

    /**
     * 根据教室id查询该教室星期节次占用情况
     * @param roomId
     * @return 已经占用的时间点(星期和节次列表)
     * @author 杨晓慧
     * @since 2.0.0 2018-11-09 19:34:10
     */
    List<RoomTimeModel> queryRoomUseByRoomId(String roomId);


    /**
     * 根据教师id 和当前星期节次信息判定教师在当前时间段内有没有其他课：
     * @param teacherId  教师id
     * @param week  周次（星期XX）
     * @param cellTimeId 节次 （第几节课）
     * @return 返回老师在此时间点上了几节课
     * @author 杨晓慧
     * @since 2.0.0 2018-11-09 19:34:10
     */
     int queryTeacherUseByTime(String teacherId, String week, String cellTimeId);


     List<RoomTimeModel> queryTeachClassUseByTime(String teacherId, String week, String cellTimeId);


}
